package com.fl.nj.mapper;

import com.fl.nj.entity.SyncStrategy;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 同步策略Mapper接口
 * 用于定义对SyncStrategy实体的数据库操作方法
 */
@Mapper
public interface SyncStrategyMapper {
    /**
     * 保存同步策略
     * @param strategy 同步策略对象
     */
    void save(SyncStrategy strategy);

    /**
     * 更新同步策略
     * @param strategy 同步策略对象
     */
    void update(SyncStrategy strategy);

    /**
     * 根据ID获取同步策略
     * @param id 策略ID
     * @return 同步策略对象
     */
    SyncStrategy getById(Long id);

    /**
     * 根据策略名称获取同步策略
     * @param strategyName 策略名称
     * @return 同步策略对象
     */
    SyncStrategy getByStrategyName(@Param("strategyName") String strategyName);

    /**
     * 获取所有同步策略
     * @return 同步策略列表
     */
    List<SyncStrategy> getAll();

    /**
     * 删除同步策略
     * @param id 策略ID
     */
    void delete(Long id);
}